package com.ax.business.common.domain;

import java.util.Date;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

public class BaseSubject {
    /**
     * 科目ID
     */
    private Long subjectId;

    /**
     * 科目代码
     */
    private String subjectCode;

    /**
     * 科目名称
     */
    private String subjectName;

    /**
     * 拼音首字母
     */
    private String firstLetter;

    /**
     * 父级科目ID
     */
    private Long parentSubjectId;

    /**
     * 备注
     */
    private String remarks;

    /**
     * 创建时间
     */
    private Date createDate;

    /**
     * 修改时间
     */
    private Date updateDate;

    /**
     * 状态
     */
    private Integer flag;

    public BaseSubject(Long subjectId, String subjectCode, String subjectName, String firstLetter, Long parentSubjectId, String remarks, Date createDate, Date updateDate, Integer flag) {
        this.subjectId = subjectId;
        this.subjectCode = subjectCode;
        this.subjectName = subjectName;
        this.firstLetter = firstLetter;
        this.parentSubjectId = parentSubjectId;
        this.remarks = remarks;
        this.createDate = createDate;
        this.updateDate = updateDate;
        this.flag = flag;
    }

    public BaseSubject() {
        super();
    }

    public Long getSubjectId() {
        return subjectId;
    }

    public void setSubjectId(Long subjectId) {
        this.subjectId = subjectId;
    }

    public String getSubjectCode() {
        return subjectCode;
    }

    public void setSubjectCode(String subjectCode) {
        this.subjectCode = subjectCode == null ? null : subjectCode.trim();
    }

    public String getSubjectName() {
        return subjectName;
    }

    public void setSubjectName(String subjectName) {
        this.subjectName = subjectName == null ? null : subjectName.trim();
    }

    public String getFirstLetter() {
        return firstLetter;
    }

    public void setFirstLetter(String firstLetter) {
        this.firstLetter = firstLetter == null ? null : firstLetter.trim();
    }

    public Long getParentSubjectId() {
        return parentSubjectId;
    }

    public void setParentSubjectId(Long parentSubjectId) {
        this.parentSubjectId = parentSubjectId;
    }

    public String getRemarks() {
        return remarks;
    }

    public void setRemarks(String remarks) {
        this.remarks = remarks == null ? null : remarks.trim();
    }

    public Date getCreateDate() {
        return createDate;
    }

    public void setCreateDate(Date createDate) {
        this.createDate = createDate;
    }

    public Date getUpdateDate() {
        return updateDate;
    }

    public void setUpdateDate(Date updateDate) {
        this.updateDate = updateDate;
    }

    public Integer getFlag() {
        return flag;
    }

    public void setFlag(Integer flag) {
        this.flag = flag;
    }

    @Override
    public String toString() {
        return ToStringBuilder.reflectionToString(this, ToStringStyle.MULTI_LINE_STYLE);
    }
}